package com.xr.common.entity;

import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.OrderBy;
import com.baomidou.mybatisplus.annotation.TableField;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.Data;

import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.util.Date;

@Data
public class Log implements Serializable {

	private static final long serialVersionUID = -3925407267780334782L;

	/**
	 * 主键
	 */
	@NotNull(message = "主键不能为空")
	@OrderBy
	private Long id;

	/**
	 * 逻辑删除
	 */
	@JsonIgnore
	@TableField(exist = false)
	private Boolean deleted;

	/**
	 * 创建者
	 */
	@JsonIgnore
	@TableField(fill = FieldFill.INSERT)
	private Long createId;

	/**
	 * 创建时间
	 */
	@JsonInclude(JsonInclude.Include.NON_NULL)
	@TableField(fill = FieldFill.INSERT)
	private Date createTime;

	/**
	 * 更新者
	 */
	@JsonIgnore
	@TableField(fill = FieldFill.INSERT_UPDATE)
	private Long updateId;

	/**
	 * 更新时间
	 */
	@JsonInclude(JsonInclude.Include.NON_NULL)
	@TableField(fill = FieldFill.INSERT_UPDATE)
	private Date updateTime;

	/**
	 * 请求参数
	 */
	// @JsonProperty("params")
	private String requestParam;

	/**
	 * 请求方法
	 */
	// @JsonProperty("func")
	private String method;

	/**
	 * 用户id
	 */
	// @JsonProperty("user")
	private Long userId;

	/**
	 * 用户名
	 */
	// @JsonProperty("uName")
	private String userName;

	/**
	 * 当前请求IP
	 */
	// @JsonProperty("addr")
	private String ip;

	/**
	 * 请求URL
	 */
	// @JsonProperty("link")
	private String uri;

}
